package com.huike.report.mapper;

import com.huike.report.domain.vo.PieChartVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * Created with IntelliJ IDEA.
 * @Author: Copyright by jiyuzm & wwq
 * @Date: 2023/07/13/17:08
 * @Description: 报表-统计分析
 */

@Mapper
public interface ReportMapper {

    /**
     * 得到线索num
     *
     * @param beginCreateTime 开始创建时间
     * @param endCreateTime   最终创建时间
     * @return {@link Integer}
     */
    Integer getCluesNums(@Param("beginCreateTime") String beginCreateTime, @Param("endCreateTime") String endCreateTime);

    /**
     * 得到有效线索num
     *
     * @param beginCreateTime 开始创建时间
     * @param endCreateTime   最终创建时间
     * @return {@link Integer}
     */
    Integer getEffectiveCluesNums(@Param("beginCreateTime") String beginCreateTime, @Param("endCreateTime") String endCreateTime);

    /**
     * 获得商业num
     *
     * @param beginCreateTime 开始创建时间
     * @param endCreateTime   最终创建时间
     * @return {@link Integer}
     */
    Integer getBusinessNums(@Param("beginCreateTime") String beginCreateTime, @Param("endCreateTime") String endCreateTime);

    /**
     * 得到合同num
     *
     * @param beginCreateTime 开始创建时间
     * @param endCreateTime   最终创建时间
     * @return {@link Integer}
     */
    Integer getContractNums(@Param("beginCreateTime") String beginCreateTime, @Param("endCreateTime") String endCreateTime);

    /**
     * 科目统计数据
     *
     * @param beginCreateTime 开始创建时间
     * @param endCreateTime   最终创建时间
     * @return {@link List}<{@link PieChartVo}>
     */
    List<PieChartVo> subjectStatistics(@Param("beginCreateTime") String beginCreateTime, @Param("endCreateTime") String endCreateTime);
}
